package com.huisou.utils;

import java.util.LinkedList;

import java.util.ListIterator;

/**
 * 
	* @description: 在这个列表中，会保证里面的每个字符串都是唯一的，可决定是否进行大小写匹配。
	* @package com.huisou.common.util
	* @title UniqueStringList.java
	* @author: timzhang
	* @email: zhangfs@huisou.cn
	* @version:
	* @updateUser: 
	* @create 2011-11-7 下午1:41:03
	* @update 2011-11-7 下午1:41:03
 */
public class UniqueStringList extends LinkedList<String> {

	
		   /**
			* @fields serialVersionUID
			*/ 
		
	private static final long serialVersionUID = 1L;
	/**
	
	 * 唯一字符串List
	
	 * @date 2011-11-7 上午11:41:38
	
	 */

	private boolean ignoreCase;

	public UniqueStringList(boolean ignoreCase) {

		this.ignoreCase = ignoreCase;

	}

	@Override
	public boolean add(String e) {

		ListIterator<String> iterator = listIterator();

		while (iterator.hasNext()) {

			String next = iterator.next();

			if (ignoreCase ? e.equalsIgnoreCase(next) : e.equals(next))

				return false;

		}

		return super.add(e);

	}
	public static void main(String[] args) {
		UniqueStringList list=new UniqueStringList(true);	
		list.add("a");
		list.add("A");
		list.add("b");
		for (String s:list) {
			System.out.println(s);
			
		}
	}
}
